﻿package mortal.game.scene3D.display3d.text3d.dynamicText3d
{
    import __AS3__.vec.*;
    import baseEngine.core.*;
    import flash.display.*;
    import mortal.game.scene3D.display3d.text3d.*;
    import mortal.game.scene3D.layer3D.*;

    public class Text3DMesh extends Mesh3D
    {
        private var _curList:Vector.<Number>;
        public var maxId:uint = 0;
        public var textBg0:Texture3D;
        public var listArr:Array;
        public var text3dWidth:uint;

        public function Text3DMesh(param1:BitmapData, param2:Boolean)
        {
            this.listArr = new Array();
            super("", param2, LastRender.instance.renderList);
            this.textBg0 = new Texture3D(param1, 0);
            this.text3dWidth = param1.width;
            this.enabledPool = false;
            return;
        }// end function

        override public function dispose(param1:Boolean = true) : void
        {
            super.dispose(param1);
            this._curList = null;
            this.listArr = null;
            this.textBg0.disposeImp();
            this.textBg0 = null;
            return;
        }// end function

        public function createNewPlace() : Text3DPlace
        {
            if (!this._curList || this._curList.length >= 400)
            {
                this._curList = new Vector.<Number>;
                this.listArr.push(this._curList);
            }
            var _loc_2:String = this;
            var _loc_3:* = this.maxId + 1;
            _loc_2.maxId = _loc_3;
            var _loc_1:* = new Text3DPlace(this._curList, this._curList.length / 4, this.maxId);
            return _loc_1;
        }// end function

    }
}
